#ifndef CHATPROMPT_H
#define CHATPROMPT_H

#include "FilePrompt.h"
#include <QString>

class ChatPrompt : public FilePrompt
{
public:
    static ChatPrompt* getInstance();
    
    PromptInfo getPrompt() const override { return m_promptInfo; }
    bool save(const QString &filePath) override;
    bool load(const QString &filePath) override;
    void changePrompt(const QString &prompt, const QString &chatPrefix, const QString &chatSuffix,
                     const QVector<QString> &userPromptList,
                     const QVector<QString> &assistantPromptList) override;
    void resetToDefault() override;
    QString getPromptPath() override;

private:
    ChatPrompt();
    ~ChatPrompt();
    
    void initDefaultPrompt();
    
    static ChatPrompt* instance;
};

#endif // CHATPROMPT_H 